Consulta de Guías Docentes



Academic Year/course: 2023/24

439 - Bachelor's Degree in Informatics Engineering

30229 - Basic Algorithms


Syllabus Information

Academic year:
2023/24
Subject:
30229 - Basic Algorithms
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
3
Semester:
Second semester
Subject type:
---
Module:
---

1. General information

 

The objective of this subject is that students acquire the necessary knowledge to design and develop efficient algorithms, with emphasis on the identification and application of the fundamental algorithmic schemes. The students will learn to recognize the problems that require this type of schemes for their resolution and how to apply them.

These approaches and goals are aligned with the Sustainable Development Goals (SDGs) of the 2030 Agenda of United Nations (https://www.un.org/sustainabledevelopment/es/) and certain specific targets, such that the acquisition of the learning results of the subject will contribute to some extent to the achievement of target 4 of Goal 8, and target 1 of Goal 9.

It is recommended to have taken the previous subjects of mathematics, programming, data structures and algorithms, and theory of computation

 

2. Learning results

 

  • Know various algorithmic schemes and fundamental problems using them.

  • Know how to particularize general algorithmic schemes to solve problems.

  • Know how to identify the most relevant components of a problem and to select the most appropriate algorithmic technique for it, as well as to argue in a reasoned way such choice.

  • Know how to compare problems and use this comparison to solve one problem from an efficient solution of another.

  • Can reason about the correctness and efficiency of the advanced algorithms used.

  • Ability to work in a group, identify group objectives, outline a work plan to achieve them, recognize the different roles within a team, and assume commitment to the tasks assigned.

  • Self-learning and development management including time management and organization.

  • Appreciate the need for continuous learning.

 

3. Syllabus

 

1. Introduction

2. Divide and conquer

3. Voracious algorithms

4. Dynamic programming

5. Search with backtracking

6. Branching and pruning

7. Linear programming and reductions



4. Academic activities

 

Lectures: 2 hours per week

The contents of the subject will be presented.

Types of problems: 1 hour per week

Problems of application of the concepts and techniques presented in the program of the subject will be solved.

Laboratory practices: 3 hours every two weeks

In the practice sessions students will work in teams and perform a series of programming tasks directly related to the topics studied in the subject. The work performed shall be delivered within the deadlines set in each case.

The student's dedication to achieve the learning results in this subject is estimated in 150 hours, distributed as follows:

  • 60 hours of activities with the teacher (theoretical, problem and practical classes).

  • 84 hours of effective personal study (study of notes and texts, problem solving, class preparation, program development).

  • 6 hours of assessment tests.

 

5. Assessment system

 

The subject will be assessed in the global assessment modality by means of the following activities: 

Practical part (45% of the grade)

Submission and presentation of practical laboratory work.

The following aspects will be evaluated:

  • Quality of documentation, design and implementation, test case design and analysis of tests performed.

  • Ease of retesting by teachers.

  • Ability of each team member to explain and justify the proposed solution.

 

Written exam (55% of the grade)

Solving problems of a similar nature to those posed in class.

For each problem, the proper application of the resolution methods will be evaluated.



Students will be able to pass the subject by means of a global assessment in the two official exam calls.




Curso Académico: 2023/24

439 - Graduado en Ingeniería Informática

30229 - Algoritmia básica


Información del Plan Docente

Año académico:
2023/24
Asignatura:
30229 - Algoritmia básica
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
439 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
3
Periodo de impartición:
Segundo semestre
Clase de asignatura:
---
Materia:
---

1. Información básica de la asignatura

Esta asignatura tiene como objetivo que el alumnado adquiera los conocimientos necesarios para diseñar y desarrollar algoritmos eficientes, haciendo énfasis en la identificación y aplicación de los esquemas algorítmicos fundamentales. El alumnado aprenderá a reconocer los problemas que requieren este tipo de esquemas para su resolución y cómo aplicarlos.

Estos objetivos están alineados con los Objetivos de Desarrollo Sostenible de la Agenda 2030 de Naciones Unidas (https://www.un.org/sustainabledevelopment/es/) y determinadas metas concretas, de tal manera que la adquisición de los resultados de aprendizaje de la asignatura contribuirá en cierta medida al logro de la meta 4 del Objetivo 8 y de la meta 1 del Objetivo 9.

Se recomienda haber cursado las asignaturas previas de matemáticas, programación, estructuras de datos y algoritmos y teoría de la computación.

2. Resultados de aprendizaje

  • Conoce esquemas algorítmicos variados y problemas fundamentales que utilizan los mismos.
  • Sabe particularizar esquemas algorítmicos generales para resolver problemas.
  • Sabe identificar las componentes más relevantes de un problema y seleccionar la técnica algorítmica más adecuada para el mismo, además de argumentar de forma razonada dicha elección.
  • Sabe comparar problemas y utilizar dicha comparación para resolver un problema a partir de una solución eficiente de otro.
  • Sabe razonar sobre la corrección y eficiencia de los algoritmos avanzados que se utilizan.
  • Habilidad para trabajar en grupo, identificar objetivos del grupo, trazar un plan de trabajo para alcanzarlo, reconocer los diferentes papeles dentro de un equipo y asumir el compromiso de las tareas encomendadas.
  • Gestión del auto-aprendizaje y de desarrollo incluyendo el tiempo de gestión y de organización.
  • Apreciar la necesidad del aprendizaje continuo.

3. Programa de la asignatura

  1. Introducción
  2. Divide y vencerás
  3. Algoritmos voraces
  4. Programación dinámica
  5. Búsqueda con retroceso
  6. Ramificación y poda
  7. Programación lineal y reducciones

4. Actividades académicas

Clases magistral: 2 horas semanales

Se expondrán los contenidos de la asignatura.

Clases de problemas: 1 hora semanal

Se resolverán problemas de aplicación de los conceptos y técnicas presentadas en el programa de la asignatura.

Prácticas de laboratorio: 3 horas cada dos semanas

En las sesiones de práctica los estudiantes trabajarán en equipo y realizarán una serie de trabajos de programación directamente relacionados con los temas estudiados en la asignatura. Los trabajos realizados se entregarán dentro de los plazos de tiempo que se fijen en cada caso.

La dedicación del estudiante para alcanzar los resultados de aprendizaje en esta asignatura se estima en 150 horas distribuidas del siguiente modo:

  • 60 horas de actividades con el/la profesor/a (clases teóricas, de problemas y prácticas).
  • 84 horas de estudio personal efectivo (estudio de apuntes y textos, resolución de problemas, preparación de clases, desarrollo de programas).
  • 6 horas de pruebas de evaluación.

5. Sistema de evaluación

La asignatura se evaluará en la modalidad de evaluación global mediante las siguientes actividades: 

Parte práctica (45% de la nota)

Entrega y presentación de trabajos de prácticas de laboratorios.

Se evaluarán fundamentalmente los siguientes aspectos:

  • Calidad de la documentación, diseño e implementación, diseño de casos de prueba y análisis de las pruebas realizadas.
  • Facilidad para la repetición de las pruebas por los profesores.
  • Capacidad de cada uno de los integrantes del equipo para explicar y justificar la solución propuesta.

Examen escrito (55% de la nota)

Resolución de problemas de naturaleza similar a los planteados en clase.

Para cada problema, se evaluará la adecuada aplicación de los métodos de resolución.

 

El alumnado tendrá la oportunidad de superar la asignatura mediante la mencionada evaluación global en las dos convocatorias oficiales.